<?

/*------------------------------------------------
*
*   Explay Engine Content Management System.
*   Copyright © 2008 Golovdinov Alexander.
*
*-------------------------------------------------
*
*   Official site: wwww.alex-home.spb.ru/explay.html
*   Contact e-mail: golovdinov@gmail.com
*
*   GNU General Public License original source:
*   http://www.gnu.org/licenses/gpl-3.0.html
*
------------------------------------------------*/

if (!defined ('EXPLAY')) exit;

if (isset($_GET['id'])) $id = $_GET['id'];
if (isset($_GET['blog_name'])) $name = $_GET['blog_name'];

if (isset($_GET['delete']) && isset ($_GET['name']) ) {
	$db->query ("DELETE FROM ".DB_PEREFIX."_art_category WHERE cat_id = ".$_GET['delete']);
	$db->query ("DELETE FROM ".DB_PEREFIX."_blogs_users WHERE blog = ".$_GET['delete']);

	if (file_exists($_SERVER['DOCUMENT_ROOT']."/images/blogs/$name.jpg"))
		unlink (file_exists($_SERVER['DOCUMENT_ROOT']."/images/blogs/$name.jpg"));
	
	site_message ('Раздел удален');
}

if (isset($_GET['save'])) {
	
	$name = $_POST['name'];
	$header = $_POST['header'];
	$desc = $_POST['desc'];
	
	(isset($_POST['public'])) ? $allow = 'yes' : $allow = 'no';
	
	if ($name != '' && $header != '') {
		
		$db->query ("INSERT INTO ".DB_PEREFIX."_art_category VALUES (0, '$name', '$header', '$desc', '0', '0', '".time()."', '$allow', '{$GLOBAL_USER['user_id']}')");
		
		site_message ('Раздел добавлен');
			
		if ($_FILES['image']['name'] != '') {
			if (eregi('[A-Za-z0-9]\.(jpeg|jpg|gif|png|bmp|JPEG|JPG|GIF|PNG|BMP)', $_FILES['image']['name'])) {
				if (copy($_FILES['image']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/include/cache/'.$_FILES['image']['name']))
					save_image ($_SERVER['DOCUMENT_ROOT'].'/include/cache/'.$_FILES['image']['name'], $name);
				else
					site_error ('Ошибка при добавлении изоображения!');
			}
			else site_error ('Файл не является изоображением!');
		}
			
	}
	else site_error ('Не заполнено одно из полей');
}
if (isset($_GET['edit_save'])) {
	$tid = $_POST['the_id'];
	$name = $_POST['name'];
	$header = $_POST['header'];
	$desc = $_POST['desc'];
	
	(isset($_POST['public'])) ? $allow = 'yes' : $allow = 'no';
	
	if ($name != '' && $header != '' && $tid != '') {
		
		$db->query ("UPDATE ".DB_PEREFIX."_art_category SET cat_name = '$name', cat_header = '$header', cat_description = '$desc', allow_users = '$allow' WHERE cat_id = '$tid'");
	
		site_message ("Раздел сохранен");
			
		if ($_FILES['image']['name'] != '') {
			if (eregi('[A-Za-z0-9]\.(jpeg|jpg|gif|png|bmp|JPEG|JPG|GIF|PNG|BMP)', $_FILES['image']['name'])) {
				if (copy($_FILES['image']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/include/cache/'.$_FILES['image']['name']))
					save_image ($_SERVER['DOCUMENT_ROOT'].'/include/cache/'.$_FILES['image']['name'], $name);
				else
					site_error ('Ошибка при добавлении изоображения!');
			}
			else site_error ('Файл не является изоображением!');
		}
	
	}
	else site_error ('Не заполнено одно из полей');
}


if (isset($_GET['edit'])) {
	
	past_path (array (
		array ('admin.php?name=articles', 'Статьи'),
		array ('admin.php?name=articles&ed=cat', 'Категории'),
		array ('', 'Редактирование')
	));

	simple_table ("
		<span class=\"link_add_article\"><a href='admin.php?name=articles&add'>Добавить статью</a></span>
		<span class=\"link_settings\"><a href='admin.php?name=articles&ed=options'>Настройки</a></span>"
	);
	
	$select = $db->query ("SELECT * FROM ".DB_PEREFIX."_art_category WHERE cat_id = ".$_GET['edit']);
	
	$cat = $db->fetch_array ($select);
	add_art_cat ("name=articles&ed=cat&edit_save", $_GET['edit'], $cat['cat_name'], $cat['cat_header'], $cat['cat_description'], $cat['allow_users']);
	
	come_back ('управлению разделами', 'admin.php?name=articles&ed=cat');



} else {
	
	past_path (array (
		array ('admin.php?name=articles', 'Статьи'),
		array ('admin.php?name=articles&ed=cat', 'Категории'),
		array ('', 'Новый раздел')
	));
	
	simple_table ("
		<span class=\"link_add_article\"><a href='admin.php?name=articles&add'>Добавить статью</a></span>
		<span class=\"link_settings\"><a href='admin.php?name=articles&ed=options'>Настройки</a></span>"
	);
	
	add_art_cat ('name=articles&ed=cat&save', '', $_POST['name'], $_POST['name_'], $_POST['desc']);
	
	
	$gcat = $db->query ("SELECT * FROM ".DB_PEREFIX."_art_category ORDER BY cat_id DESC");
	
	$art_tr = '';
	while ($cat = $db->fetch_array ($gcat)) {
		
		$cat_ = $cat['cat_name'];
		
		$arts = $db->num_rows ($db->query("SELECT * FROM ".DB_PEREFIX."_articles WHERE art_category = '$cat_'"));
		
		$cat_tr .= "\n<tr><td class=\"ad_tr\">".$cat['cat_header']."</td>".
			"<td class=\"ad_tr\"><small>".$cat['cat_description']."</small></td>".
			"<td class=\"ad_tr\" align=\"center\">".format_time($cat['cat_date'])."</td>".
			"<td class=\"ad_tr\" align=\"center\">$arts</td>".
			"<td class=\"ad_tr\" align=\"center\"><a href=\"admin.php?name=articles&ed=cat&edit=".$cat['cat_id']."\">Редактировать</a> | <a href='javascript:delete_(\"admin.php?name=articles&ed=cat&delete=".$cat['cat_id']."&blog_name=".$cat['cat_name']."\");'>Удалить</a></td></tr>";
	}
	$cat_table = "\n<table class=\"body_table\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">
	<tr>
		<td class=\"top_header_name\">Название</td>
		<td class=\"top_header_name\">Описание</td>
		<td class=\"top_header_name\">Дата</td>
		<td class=\"top_header_name\">Статей</td>
		<td class=\"top_header_name\">Опции</td>
	</tr>$cat_tr
</table>
<script>function delete_ (url_) { if (window.confirm('Вы действительно хотите удалить раздел?') == true) document.location.href = url_; }</script>";

	past_table ('Управление разделами статей', $cat_table);
	
}

come_back ('панели администратора', 'admin.php');

function add_art_cat ($act, $id, $name, $name_, $desc, $allow_public = '') {
	
	if ($allow_public == 'yes') $public = 'checked';
	
	$form = "\n\n<form action=\"admin.php?$act\" method=\"post\" name=\"record\" enctype=\"multipart/form-data\">
<input type=\"hidden\" name=\"the_id\" value=\"$id\" />
<table class=\"main_text\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\">
	<tr>
		<td width=\"25%\">Название:</td>
		<td>
			<input type=\"text\" name=\"name\" style=\"width:50%\" value=\"$name\">
			<a href=\"javascript:void(0)\" onmouseover=\"show_tip(this,'Название должно содержать только латинские буквы. Оно будет использоваться в заголовке для доступа к разделу. Если изменить название сущестующего раздела потребуется изменять принадлежность всех статей этого раздела.');\" onmouseout=\"close_tip();\">?</a>
		</td>
	</tr>
	<tr>
		<td>Название (рус.):</td>
		<td><input type=\"text\" name=\"header\" style=\"width:50%\" value=\"$name_\" /></td>
	</tr>
	<tr>
		<td>Аватар:</td>
		<td><input type=\"file\" name=\"image\" style=\"width:50%\" class=\"form\" /></td>
	</tr>
	<tr>
		<td>Описание:</td>
		<td><textarea name=\"desc\" style=\"width:70%\" rows=\"8\">$desc</textarea></td>
	</tr>
	<tr>
		<td>Разрешить публиковать статьи пользователям в этом разделе:</td>
		<td><input type=\"checkbox\" name=\"public\" value=\"true\" $public /></td>
	</tr>
	<tr>
		<td colspan=\"2\"><input type=\"submit\" value=\"Сохранить\" /></td>
	</tr>
</table>
</form>";
	
	past_table ('Добавление/Изменение раздела статей', $form);
	
}

function save_image ($src, $name) {
	if (!file_exists($src) || $src == '') return false;
	
	$name = "images/blogs/$name.jpg";
	
	if(eregi('[A-Za-z0-9]\.(jpeg|jpg|JPEG|JPG)', $src)) {
		$thumbbase = imagecreatefromjpeg($src);
	}
	elseif(eregi('[A-Za-z0-9]\.(gif|GIF)', $src)) {
		$thumbbase = imagecreatefromgif($src);
	}
	elseif(eregi('[A-Za-z0-9]\.(png|PNG)', $src)) {
		$thumbbase = imagecreatefrompng($src);
	}
	elseif(eregi('[A-Za-z0-9]\.(bmp|wbmp|BMP|wbmp)', $src)) {
		$thumbbase = imagecreatefromwbmp($src);
	}
	else exit;
	
	$width = imagesx($thumbbase);
	$height = imagesy($thumbbase);
	
	if ($width > 75 || $height > 75) {
		$k = max($width/75, $height/75);
		$new_width = intval($width / $k);
		$new_height = intval($height / $k);
	}
	else {
		$new_width = $width;
		$new_height = $height;
	}
	
	$thumb = imagecreatetruecolor ($new_width, $new_height);
	imagecopyresampled($thumb, $thumbbase, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
	if (imagejpeg($thumb, $name, 70)) {
		imagedestroy($thumb);
		imagedestroy($thumbbase);
		@unlink ($src);
		return true;
	}
	return false;
}